home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / util / ResourceBundle$Control.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.6 KB  |  218 lines

  1. package java.util;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.net.JarURLConnection;
  6. import java.net.URL;
  7. import java.net.URLConnection;
  8. import java.security.AccessController;
  9. import java.security.PrivilegedActionException;
  10. import java.util.ResourceBundle.NoFallbackControl;
  11. import java.util.ResourceBundle.SingleFormatControl;
  12. import java.util.jar.JarEntry;
  13.  
  14. public class ResourceBundle$Control {
  15.    public static final List<String> FORMAT_DEFAULT = Collections.unmodifiableList(Arrays.asList("java.class", "java.properties"));
  16.    public static final List<String> FORMAT_CLASS = Collections.unmodifiableList(Arrays.asList("java.class"));
  17.    public static final List<String> FORMAT_PROPERTIES = Collections.unmodifiableList(Arrays.asList("java.properties"));
  18.    public static final long TTL_DONT_CACHE = -1L;
  19.    public static final long TTL_NO_EXPIRATION_CONTROL = -2L;
  20.    private static final ResourceBundle$Control INSTANCE = new ResourceBundle$Control();
  21.  
  22.    protected ResourceBundle$Control() {
  23.    }
  24.  
  25.    public static final ResourceBundle$Control getControl(List<String> var0) {
  26.       if (var0.equals(FORMAT_PROPERTIES)) {
  27.          return SingleFormatControl.access$800();
  28.       } else if (var0.equals(FORMAT_CLASS)) {
  29.          return SingleFormatControl.access$900();
  30.       } else if (var0.equals(FORMAT_DEFAULT)) {
  31.          return INSTANCE;
  32.       } else {
  33.          throw new IllegalArgumentException();
  34.       }
  35.    }
  36.  
  37.    public static final ResourceBundle$Control getNoFallbackControl(List<String> var0) {
  38.       if (var0.equals(FORMAT_DEFAULT)) {
  39.          return NoFallbackControl.access$1000();
  40.       } else if (var0.equals(FORMAT_PROPERTIES)) {
  41.          return NoFallbackControl.access$1100();
  42.       } else if (var0.equals(FORMAT_CLASS)) {
  43.          return NoFallbackControl.access$1200();
  44.       } else {
  45.          throw new IllegalArgumentException();
  46.       }
  47.    }
  48.  
  49.    public List<String> getFormats(String var1) {
  50.       if (var1 == null) {
  51.          throw new NullPointerException();
  52.       } else {
  53.          return FORMAT_DEFAULT;
  54.       }
  55.    }
  56.  
  57.    public List<Locale> getCandidateLocales(String var1, Locale var2) {
  58.       if (var1 == null) {
  59.          throw new NullPointerException();
  60.       } else {
  61.          String var3 = var2.getLanguage();
  62.          String var4 = var2.getCountry();
  63.          String var5 = var2.getVariant();
  64.          ArrayList var6 = new ArrayList(4);
  65.          if (var5.length() > 0) {
  66.             var6.add(var2);
  67.          }
  68.  
  69.          if (var4.length() > 0) {
  70.             var6.add(var6.size() == 0 ? var2 : Locale.getInstance(var3, var4, ""));
  71.          }
  72.  
  73.          if (var3.length() > 0) {
  74.             var6.add(var6.size() == 0 ? var2 : Locale.getInstance(var3, "", ""));
  75.          }
  76.  
  77.          var6.add(Locale.ROOT);
  78.          return var6;
  79.       }
  80.    }
  81.  
  82.    public Locale getFallbackLocale(String var1, Locale var2) {
  83.       if (var1 == null) {
  84.          throw new NullPointerException();
  85.       } else {
  86.          Locale var3 = Locale.getDefault();
  87.          return var2.equals(var3) ? null : var3;
  88.       }
  89.    }
  90.  
  91.    public ResourceBundle newBundle(String var1, Locale var2, String var3, ClassLoader var4, boolean var5) throws IllegalAccessException, InstantiationException, IOException {
  92.       String var6 = this.toBundleName(var1, var2);
  93.       Object var7 = null;
  94.       if (var3.equals("java.class")) {
  95.          try {
  96.             Class var8 = var4.loadClass(var6);
  97.             if (!ResourceBundle.class.isAssignableFrom(var8)) {
  98.                throw new ClassCastException(var8.getName() + " cannot be cast to ResourceBundle");
  99.             }
  100.  
  101.             var7 = (ResourceBundle)var8.newInstance();
  102.          } catch (ClassNotFoundException var19) {
  103.          }
  104.       } else {
  105.          if (!var3.equals("java.properties")) {
  106.             throw new IllegalArgumentException("unknown format: " + var3);
  107.          }
  108.  
  109.          String var20 = this.toResourceName(var6, "properties");
  110.          ClassLoader var9 = var4;
  111.          boolean var10 = var5;
  112.          Object var11 = null;
  113.  
  114.          try {
  115.             var21 = (InputStream)AccessController.doPrivileged(new ResourceBundle.Control.1(this, var10, var9, var20));
  116.          } catch (PrivilegedActionException var18) {
  117.             throw (IOException)var18.getException();
  118.          }
  119.  
  120.          if (var21 != null) {
  121.             try {
  122.                var7 = new PropertyResourceBundle(var21);
  123.             } finally {
  124.                var21.close();
  125.             }
  126.          }
  127.       }
  128.  
  129.       return (ResourceBundle)var7;
  130.    }
  131.  
  132.    public long getTimeToLive(String var1, Locale var2) {
  133.       if (var1 != null && var2 != null) {
  134.          return -2L;
  135.       } else {
  136.          throw new NullPointerException();
  137.       }
  138.    }
  139.  
  140.    public boolean needsReload(String var1, Locale var2, String var3, ClassLoader var4, ResourceBundle var5, long var6) {
  141.       if (var5 == null) {
  142.          throw new NullPointerException();
  143.       } else {
  144.          if (var3.equals("java.class") || var3.equals("java.properties")) {
  145.             var3 = var3.substring(5);
  146.          }
  147.  
  148.          boolean var8 = false;
  149.  
  150.          try {
  151.             String var9 = this.toResourceName(this.toBundleName(var1, var2), var3);
  152.             URL var10 = var4.getResource(var9);
  153.             if (var10 != null) {
  154.                long var11 = 0L;
  155.                URLConnection var13 = var10.openConnection();
  156.                if (var13 != null) {
  157.                   var13.setUseCaches(false);
  158.                   if (var13 instanceof JarURLConnection) {
  159.                      JarEntry var14 = ((JarURLConnection)var13).getJarEntry();
  160.                      if (var14 != null) {
  161.                         var11 = var14.getTime();
  162.                         if (var11 == -1L) {
  163.                            var11 = 0L;
  164.                         }
  165.                      }
  166.                   } else {
  167.                      var11 = var13.getLastModified();
  168.                   }
  169.                }
  170.  
  171.                var8 = var11 >= var6;
  172.             }
  173.          } catch (NullPointerException var15) {
  174.             throw var15;
  175.          } catch (Exception var16) {
  176.          }
  177.  
  178.          return var8;
  179.       }
  180.    }
  181.  
  182.    public String toBundleName(String var1, Locale var2) {
  183.       if (var2 == Locale.ROOT) {
  184.          return var1;
  185.       } else {
  186.          String var3 = var2.getLanguage();
  187.          String var4 = var2.getCountry();
  188.          String var5 = var2.getVariant();
  189.          if (var3 == "" && var4 == "" && var5 == "") {
  190.             return var1;
  191.          } else {
  192.             StringBuilder var6 = new StringBuilder(var1);
  193.             var6.append('_');
  194.             if (var5 != "") {
  195.                var6.append(var3).append('_').append(var4).append('_').append(var5);
  196.             } else if (var4 != "") {
  197.                var6.append(var3).append('_').append(var4);
  198.             } else {
  199.                var6.append(var3);
  200.             }
  201.  
  202.             return var6.toString();
  203.          }
  204.       }
  205.    }
  206.  
  207.    public final String toResourceName(String var1, String var2) {
  208.       StringBuilder var3 = new StringBuilder(var1.length() + 1 + var2.length());
  209.       var3.append(var1.replace('.', '/')).append('.').append(var2);
  210.       return var3.toString();
  211.    }
  212.  
  213.    // $FF: synthetic method
  214.    static ResourceBundle$Control access$300() {
  215.       return INSTANCE;
  216.    }
  217. }
  218.